package com.medi.business.domain;

import com.medi.common.annotation.Excel;
import com.medi.common.core.domain.BaseEntity;
import com.medi.common.utils.SecurityUtils;
import com.medi.common.utils.uuid.IdUtils;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 商户对象 company_info
 *
 * @author medi
 * @date 2024-09-13
 */
@Data
public class CompanyInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 商户id
     */
    private String id;

    /**
     * 商户名称
     */
    @Excel(name = "商户名称")
    private String custName;

    /**
     * 个人，公司
     */
    @Excel(name = "个人，公司")
    private String custType;

    /**
     * 公司税号
     */
    @Excel(name = "公司税号")
    private String custCode;

    /**
     * 公司法人，个人主体
     */
    @Excel(name = "公司法人，个人主体")
    private String custZt;

    /**
     * 主体微信号
     */
    @Excel(name = "主体微信号")
    private String custZtwx;

    /**
     * 主体手机号
     */
    @Excel(name = "主体手机号")
    private String custZtphone;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String isDel;


    /**
     * 商户户号
     */
    @Excel(name = "商户户号")
    private String tenantId;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String parentId;

    /**
     * 祖级列表
     */
    private String ancestors;

    /**
     * 显示顺序
     */
    private Long sort;


    private List<CompanyInfo> children = new ArrayList<>();

    public void creat() {
        this.setId(IdUtils.fastSimpleUUID());
        this.setCreateTime(new Date());
        this.setCreateBy(SecurityUtils.getNickname());

    }

    public void modif() {
        this.setUpdateTime(new Date());
        this.setUpdateBy(SecurityUtils.getNickname());
    }
}
